package com.example.config;

import com.alibaba.druid.pool.DruidDataSource;
import com.example.dao.BookDao;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.sql.DataSource;

//@Configuration //表示这是一个配置类
public class JdbcConfig {
    //1.定义一个方法获得要管理的对象
//    @Value("com.mysql.jdbc.Driver")
    @Value("${spring.datasource.driver-class-name}")
    private String driver;
//    @Value("jdbc:mysql://localhost:3306/spring_db")
    @Value("${spring.datasource.url}")
    private String url;
//    @Value("root")
    @Value("${spring.datasource.username}")
    private String userName;
//    @Value("root")
    @Value("${spring.datasource.password}")
    private String password;
    //2.添加@Bean，表示当前方法的返回值是一个bean
    //@Bean修饰的方法，形参根据类型自动装配
    @Bean
    public DataSource dataSource(BookDao bookDao){
        System.out.println(bookDao);
        bookDao.save();
        DruidDataSource ds = new DruidDataSource();
        ds.setDriverClassName(driver);
        ds.setUrl(url);
        ds.setUsername(userName);
        ds.setPassword(password);
        return ds;
    }


    /*@Bean
    public DataSource dataSource(){
        DruidDataSource ds = new DruidDataSource();
        ds.setDriverClassName("com.mysql.jdbc.Driver");
        ds.setUrl("jdbc:mysql://localhost:3306/spring_db");
        ds.setUsername("root");
        ds.setPassword("root");
        return ds;
    }*/
}
